<?php if (!defined('BASEPATH'))exit('No direct script access allowed');
/**
 * Description of pessoa
 *
 * @author Davi
 */
class Pessoa extends CI_Controller {
    public function __construct() {
        parent::__construct();
         if($this->session->userdata('logado')== FALSE){redirect('login');}
    }

    public function index() {
        $this->lista();
    }
    public function lista(){
        $this->load->library('pagination');
        $this->load->model('pessoa/crud');
        $config['base_url'] = 'http://arquiteturaecia.localhost/sistema/pessoa';
        $config['total_rows'] = $this->crud->getPessoa()->num_rows(); 
        $config['per_page'] = 50; 
        $this->pagination->initialize($config); 
        
        
        $dados = array(
            'titulo'=> 'Lista Usuário',
            'tela'  => 'pessoa/lista',
            'objeto'=> $this->crud->getPessoa(null, $config['per_page'], $this->uri->segment(2))->result(),
            'paginacao'=> $this->pagination->create_links()
        );
        $this->load->view('site', $dados);
    }
    public function cadastre(){
        
    }
    public function cadastro(){
        if($this->uri->segment(3)=== false){
            $dados = array(
                'titulo'=> 'Cadastro',
                'tela'  => 'pessoa/cadastro'
             );
        $this->load->view('site', $dados);
        }else{
            $this->load->model('pessoa/crud');
            $dados = array(
                'titulo'=> 'Edita Pessoa',
                'tela'  => 'pessoa/cadastro',
                'objeto' => $this->crud->getPessoa($this->uri->segment(3))->result()
            );
            $this->load->view('site', $dados);
        }
    }
    public function go_cadastro(){
        if($this->validaPessoa()){
            $this->load->model('pessoa/crud');
            if($this->crud->setPessoa()){
                $dados = array('titulo' => 'Login');
                $msg_cad_pessoa = 'Cadastrado efetuado com sucesso. Efetue login'; 
                $this->session->set_flashdata('msg_flash_sucesso',$msg_cad_pessoa);
                redirect();
            }else{
                $msg_cad_pessoa = 'Erro no cadastrado. Tente novamente, se o problema persistir, contate o administrador'; 
                $this->session->set_flashdata('msg_flash_erro',$msg_cad_pessoa);
            }
        
        }else{
            $dados = array(
                'titulo' => 'Login',
                'tela' => 'pessoa/cadastro'
            );
            $this->load->view('site', $dados);
        }
    }
    
    public function validaPessoa(){
        $this->form_validation->set_rules('nome','Nome','required');
        $this->form_validation->set_rules('telefone_fixo','Telefone','required');
        $this->form_validation->set_rules('celular','Celular','required');
        $this->form_validation->set_rules('email','Email','required|valid_email');
        $this->form_validation->set_rules('confirma_email','Confirma senha','required|valid_email|matches[email]');
        $this->form_validation->set_rules('senha','required');
        $this->form_validation->set_rules('confirma_senha','required|matches[senha]');
        if($this->form_validation->run()== FALSE or $this->session->flashdata('msg_erro_senha')){
            return false;
        }else{
            return true;
        }
    }
    public function edita(){
       if($this->validaPessoa()){
           $this->load->model('pessoa/crud');
           if($this->crud->setPessoa()){
               $this->session->set_flashdata('msg_flash_sucesso','Dados alterados com sucesso');
           }else{
                $this->session->set_flashdata('msg_flash_erro','Erro ao alterar os dados. Contate o administrador');
           }
            redirect('pessoa/cadastro/'.$this->uri->segment(3));
       } 
    }
    
    public function deleta($id = NULL){
        $this->load->model('pessoa/crud');
        if($this->crud->deleta()){
            $this->session->set_flashdata('msg_flash_sucesso','Pessoa excluída com sucesso');
            redirect('pessoa');
        }else{
            $this->session->set_flashdata('msg_flash_erro','Erro ao excluir pessoa. Contate o administrador');
        }
    }
}
